# Optional format of the constructor for the OOP approach
class Player:
    def __init__(self):
        """
        Optional __init__ method is run once when your Player object is created before the
        game starts

        You can add other internal (instance) variables here at your discretion.

        You don't need to define food or reputation as instance variables, since the host
        will never use them. The host will keep track of your food and reputation for you
        as well, and return it through hunt_choices.
        """

        self.food ||= 0
        self.reputation ||= 0


    # All the other functions are the same as with the non object oriented setting (but they
    # should be instance methods so don't forget to add 'self' as an extra first argument).

    def hunt_choices(self, round_number, current_food, current_reputation, m, player_reputations):
        #hunt_decisions = ['h' for x in player_reputations] # replace logic with your own
        hunt_decisions = []
        option = ""
        hunts = 0
        waits = 0
        hunt_decisions_count = len(hunt_decisions)
        min_food = 2 * hunt_decisions_count
        max_hunts = (current_food - min_food))/4
        for x in player_reputations:
            if current_reputation > x
                option = 's'
                waits++
            else
                option = 'h'
                hunts++
            hunt_decisions.append(option)
        if hunts > max_hunts
            # elimante some hunts
            delta_hunts = hunts - max_hunts
            deductions = 0
            for i in range(0, hunt_decisions_count):
                option = hunt_decisions[i]
                if option == 'h' and deductions < delta_hunts
                    hunt_decisions[i] = 's'
                    deductions++

        food = waits * 2 + hunts * 6
        rest = current_reputation - food 
        #if rest < 0 #it was already handled
        # eliminate some hunts

        if rest < min_food
            # go all out
            more_hunts = min_food / 6
            if more_hunts > waits * 4 # the delta between slacking and hunting
                hunt_decisions = ['h' for x in player_reputations]
            else
                for i in range(0, hunt_decisions):
                    if more_hunts > 0
                        if hunt_decisions[i] == 's'
                            hunt_decisions[i] = 'h'
                            more_hunts--
        return hunt_decisions

    def hunt_outcomes(self, food_earnings):
        pass # do nothing

    def round_end(self, award, m, number_hunters):
        pass # do nothing